home *** CD-ROM | disk | FTP | other *** search
/ Windows Game Programming for Dummies (2nd Edition) / WinGamProgFD.iso / pc / DirectX SDK / DXSDK / samples / Multimedia / DirectShow / DMO / GargleDMO / igargle.h < prev    next >
Encoding:
C/C++ Source or Header  |  2001-10-08  |  1.6 KB  |  60 lines

  1. //------------------------------------------------------------------------------
  2. // File: IGargle.h
  3. //
  4. // Desc: DirectShow sample code - custom interface to allow the user
  5. //       to adjust the modulation rate.  It defines the interface between
  6. //       the user interface component (the property sheet) and the filter
  7. //       itself.  This interface is exported by the code in Gargle.cpp and
  8. //       is used by the code in GargProp.cpp.
  9. //
  10. // Copyright (c) 1992-2001 Microsoft Corporation.  All rights reserved.
  11. //------------------------------------------------------------------------------
  12.  
  13.  
  14. #ifndef __IGARGLEDMO__
  15. #define __IGARGLEDMO__
  16.  
  17. #ifdef __cplusplus
  18. extern "C" {
  19. #endif
  20.  
  21.  
  22. //
  23. // IGargleDMOSample's GUID
  24. //
  25. // {9AE9B11C-4EF8-42bc-9484-65EA0008964F}
  26. DEFINE_GUID(IID_IGargleDMOSample, 
  27. 0x9ae9b11c, 0x4ef8, 0x42bc, 0x94, 0x84, 0x65, 0xea, 0x0, 0x8, 0x96, 0x4f);
  28.  
  29. typedef struct _GargleFX
  30. {
  31.     DWORD       dwRateHz;               // Rate of modulation in hz
  32.     DWORD       dwWaveShape;            // GARGLE_FX_WAVE_xxx
  33. } GargleFX, *LPGargleFX;
  34.  
  35. #define GARGLE_FX_WAVE_TRIANGLE        0
  36. #define GARGLE_FX_WAVE_SQUARE          1
  37.  
  38. typedef const GargleFX *LPCGargleFX;
  39.  
  40. #define GARGLE_FX_RATEHZ_MIN           1
  41. #define GARGLE_FX_RATEHZ_MAX           1000
  42.  
  43. //
  44. // IGargleDMOSample
  45. //
  46. DECLARE_INTERFACE_(IGargleDMOSample, IUnknown) {
  47.  
  48.     // IGargleDMOSample methods
  49.     STDMETHOD(SetAllParameters)     (THIS_ LPCGargleFX pcGargleFx) PURE;
  50.     STDMETHOD(GetAllParameters)     (THIS_ LPGargleFX pGargleFx) PURE;
  51.  
  52. };
  53.  
  54.  
  55. #ifdef __cplusplus
  56. }
  57. #endif
  58.  
  59. #endif // __IGARGLEDMO__
  60.